<?php

namespace Luka\StoreBundle\Entity;

use Doctrine\ORM\Mapping as ORM;

/**
 * Luka\StoreBundle\Entity\Contract
 *
 * @ORM\Table(name="Contract")
 * @ORM\Entity
 */
class Contract
{
    /**
     * @var integer $id
     *
     * @ORM\Column(name="id", type="integer", nullable=false)
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="IDENTITY")
     */
    private $id;

    /**
     * @var string $number
     *
     * @ORM\Column(name="number", type="string", length=50, nullable=false)
     */
    private $number;

    /**
     * @var integer $paymentday
     *
     * @ORM\Column(name="paymentday", type="integer", nullable=false)
     */
    private $paymentday;

    /**
     * @var Contracttemplate
     *
     * @ORM\ManyToOne(targetEntity="Contracttemplate")
     * @ORM\JoinColumns({
     *   @ORM\JoinColumn(name="template_id", referencedColumnName="id")
     * })
     */
    private $template;

    /**
     * @var Company
     *
     * @ORM\ManyToOne(targetEntity="Company")
     * @ORM\JoinColumns({
     *   @ORM\JoinColumn(name="company_id", referencedColumnName="id")
     * })
     */
    private $company;

    /**
     * @var Contracttype
     *
     * @ORM\ManyToOne(targetEntity="Contracttype")
     * @ORM\JoinColumns({
     *   @ORM\JoinColumn(name="contracttype_id", referencedColumnName="id")
     * })
     */
    private $contracttype;

    /**
     * @var Visibility
     *
     * @ORM\ManyToOne(targetEntity="Visibility")
     * @ORM\JoinColumns({
     *   @ORM\JoinColumn(name="visibility_id", referencedColumnName="id")
     * })
     */
    private $visibility;



    /**
     * Get id
     *
     * @return integer 
     */
    public function getId()
    {
        return $this->id;
    }

    /**
     * Set number
     *
     * @param string $number
     */
    public function setNumber($number)
    {
        $this->number = $number;
    }

    /**
     * Get number
     *
     * @return string 
     */
    public function getNumber()
    {
        return $this->number;
    }

    /**
     * Set paymentday
     *
     * @param integer $paymentday
     */
    public function setPaymentday($paymentday)
    {
        $this->paymentday = $paymentday;
    }

    /**
     * Get paymentday
     *
     * @return integer 
     */
    public function getPaymentday()
    {
        return $this->paymentday;
    }

    /**
     * Set template
     *
     * @param Luka\StoreBundle\Entity\Contracttemplate $template
     */
    public function setTemplate(\Luka\StoreBundle\Entity\Contracttemplate $template)
    {
        $this->template = $template;
    }

    /**
     * Get template
     *
     * @return Luka\StoreBundle\Entity\Contracttemplate 
     */
    public function getTemplate()
    {
        return $this->template;
    }

    /**
     * Set company
     *
     * @param Luka\StoreBundle\Entity\Company $company
     */
    public function setCompany(\Luka\StoreBundle\Entity\Company $company)
    {
        $this->company = $company;
    }

    /**
     * Get company
     *
     * @return Luka\StoreBundle\Entity\Company 
     */
    public function getCompany()
    {
        return $this->company;
    }

    /**
     * Set contracttype
     *
     * @param Luka\StoreBundle\Entity\Contracttype $contracttype
     */
    public function setContracttype(\Luka\StoreBundle\Entity\Contracttype $contracttype)
    {
        $this->contracttype = $contracttype;
    }

    /**
     * Get contracttype
     *
     * @return Luka\StoreBundle\Entity\Contracttype 
     */
    public function getContracttype()
    {
        return $this->contracttype;
    }

    /**
     * Set visibility
     *
     * @param Luka\StoreBundle\Entity\Visibility $visibility
     */
    public function setVisibility(\Luka\StoreBundle\Entity\Visibility $visibility)
    {
        $this->visibility = $visibility;
    }

    /**
     * Get visibility
     *
     * @return Luka\StoreBundle\Entity\Visibility 
     */
    public function getVisibility()
    {
        return $this->visibility;
    }
}